package com.zb.service;

import com.zb.entity.Collection;

/**
 * 收藏接口服务
 * @author HBY
 */
public interface CollectionService {

    /**
     * 根据收藏夹ID查找收藏夹
     * @param id
     * @return Collection
     */
    Collection findById(Long id);

    /**
     * 根据用户ID查找收藏夹
     * @param userId
     * @return Collection
     */
    Collection findByUser(Long userId);

    /**
     * 用户添加商品到收藏夹
     * @param userId
     * @param itemId
     * @return Collection
     */
    Collection addItem(Long userId, Long itemId);

    /**
     * 移除商品
     * @param collectionId
     * @param itemId
     * @return Collection
     */
    Collection removeItem(Long collectionId, Long itemId);

    /**
     * 检查商品是否被收藏
     * @param itemId
     * @param id
     * @return 是否被收藏
     */
    boolean hasItem(long itemId, long id);

    /**
     * 获取某商品被收藏次数
     * @param itemId
     * @return
     */
    long getCollectionCount(Long itemId);
}
